瞭解到什麼是整合測試,以及可以如何協助我們提升品質。
單元測試是一個小的程式功能為單位的測試,而整合測試(Integration Testing)在這個測試階段,主要目的是確保不同軟體模組、元件、服務在整合一起後能夠正確地協同工作。整合測試通常用於測試不同模組之間的接口,以確保它們的互動和整合是正確的,並且不會導致系統錯誤。儘管在單獨運作下可以通過單元測試,但無法保證在組合後不會問題。
整合測試是由多個功能或是元件組成,因此它的範圍與複雜度較高,因此它具有比較完整的功能呈現,在進行測試時也比較偏向使用操作。
這邊就以「資料庫整合」為範例。
情境:
接收到股票交易的電文時,需要將其解析以提取交易相關的資訊,從中取得購買的股票與金額等等交易資料,然後把這些資料寫入資料庫儲存。
作法:
與昨日的範例完全一樣,不同在於這次的測試範圍更大。單元測試針對每個動作進行測試,而整合測試則測試整個功能。因此我們的測試範圍就是收到電文、解析它,然後將其寫入資料庫。
在這功能組中,輸入參數為交易電文,程序依序執行解析和資料庫寫入。這涵蓋了三個不同的動作和兩個不同的執行環境(程式與資料庫)。在測試過程中,從接收電文一路到資料庫的存儲,我們將輸入這些不一樣的參數,並檢查功能是否符合測試標準。
當測試規模越來越大時,會增加更多使用者的操作邏輯,這時需要轉換角色,從工程師轉成使用者。這時候就會清楚流程,並瞭解每個功能組會有怎樣的變化,這時就要開始以使用者的角度去檢查。
再度提醒:這測試階段分類不是絕對的喔!會因為各團隊狀況有所不同。